home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-12-21 | 903 b | 43 lines | [TEXT/R*ch] |
-
- /* Code to access structure members by accessing attributes */
-
- #include "structmember.h"
-
- #define OFF(x) offsetof(XXXXobject, x)
-
- static struct memberlist $abbrev$_memberlist[] = {
- /* XXXX Add lines like { "foo", T_INT, OFF(foo), RO } */
-
- {NULL} /* Sentinel */
- };
-
- static PyObject *
- $abbrev$_getattr(self, name)
- $abbrev$object *self;
- char *name;
- {
- PyObject *rv;
-
- /* XXXX Add your own getattr code here */
- rv = PyMember_Get((char *)/*XXXX*/0, $abbrev$_memberlist, name);
- if (rv)
- return rv;
- PyErr_Clear();
- return Py_FindMethod($abbrev$_methods, (PyObject *)self, name);
- }
-
-
- static int
- $abbrev$_setattr(self, name, v)
- $abbrev$object *self;
- char *name;
- PyObject *v;
- {
- /* XXXX Add your own setattr code here */
- if ( v == NULL ) {
- PyErr_SetString(PyExc_AttributeError, "Cannot delete attribute");
- return -1;
- }
- return PyMember_Set((char *)/*XXXX*/0, $abbrev$_memberlist, name, v);
- }
-